xen/arm: make accesses to desc->status flags atomic
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Wed, 13 Aug 2014 16:29:44 +0000 (17:29 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 3 Sep 2014 14:23:26 +0000 (15:23 +0100)
commit50d8fe8fcbab2440cfeeb65c4765868398652473
tree47609e6bf1c7a6a0ddc735d6798f9609a54abe30
parent84cf3be96baaf89633871ee96553dd392c5f97a1
xen/arm: make accesses to desc->status flags atomic

This way we don't need to take the desc->lock in order to access
desc->status in many of the gic and vgic functions.

Using *_bit manipulation functions on desc->status is safe on arm64:
status is an unsigned int but is the first field of a struct that
contains pointers, therefore the alignement of the struct is at least 8
bytes.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Julien Grall <julien.grall@linaro.org>
xen/arch/arm/gic-v2.c
xen/arch/arm/gic.c
xen/arch/arm/irq.c
xen/include/xen/irq.h